package controladores;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import modelos.Equipo;
import modelos.Liga;
import vistas.FrmEquipos;
import vistas.TablaEquipos;
import vistas.TablaJugadores;

public class ControladorEquipos implements ActionListener{

	private FrmEquipos frmEquipos;
	private Liga mLiga;
	private Equipo mEquipo;
	
	
	public ControladorEquipos(Liga mLiga) {
		this.mLiga = mLiga;
		mEquipo = new Equipo();
		frmEquipos = new FrmEquipos();
		frmEquipos.setVisible(true);
		frmEquipos.agregarListener(this);
		frmEquipos.setListadoEquipos(new TablaEquipos(mLiga.getEquipos()));
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		if (e.getActionCommand().equalsIgnoreCase("Registrar")){	
			mEquipo.setCodigo (mLiga.cantidadEquipos() + 1);
			mEquipo.setNombre (frmEquipos.getTxtNombre().getText());
			mEquipo.setAnoFundacion (Long.valueOf(frmEquipos.getTxtAnoFundacion().getText()));
			mEquipo.setCiudad (frmEquipos.getTxtCiudad().getText());
			mEquipo.setEstadio (frmEquipos.getTxtEstadio().getText());
			mLiga.agregarEquipo(mEquipo);
			frmEquipos.mostrarMensaje("Equipo registrado exitosamente");
			frmEquipos.limpiar();
			mEquipo = new Equipo();
			frmEquipos.setListadoEquipos(new TablaEquipos(mLiga.getEquipos()));
			frmEquipos.setListadoJugadores(new TablaJugadores(mEquipo.getJugadores()));
		}
		else if (e.getActionCommand().equalsIgnoreCase("Volver")){
			frmEquipos.dispose();
			new ControladorMenuPrincipal(mLiga);
		}		
		else if (e.getActionCommand().equalsIgnoreCase("Cargar Jugadores")){
			new ControladorCargarJugadores(mEquipo, frmEquipos, mLiga.cantidadEquipos() + 1);
			frmEquipos.getBtnCargarJugadores().setEnabled(false);
			//frmEquipos.mostrarMensaje("Se han cargado los jugadores del equipo exitosamente");
			frmEquipos.setListadoJugadores(new TablaJugadores(mEquipo.getJugadores()));
		}
	}
	
}
